a365f08dd855f5563392d17ea802b7ec84f3b105,java/java-psi-impl/src/com/intellij/psi/impl/file/PsiPackageImpl.java,PsiPackageImpl,getClassNamesCache,#,161

Before Change



  private Set<String> getClassNamesCache() {
    if (myPublicClassNamesCache == null) {
      Set<String> classNames = getFacade().getClassNames(this, allScope());
      synchronized (myPublicClassNamesCacheLock) {
        myPublicClassNamesCache = classNames;
      }

After Change


    SoftReference<Set<String>> ref = myPublicClassNamesCache;
    Set<String> cache = ref == null ? null : ref.get();
    if (cache == null) {
      cache = getFacade().getClassNames(this, allScope());
      synchronized (myPublicClassNamesCacheLock) {
        myPublicClassNamesCache = new SoftReference<Set<String>>(cache);
      }
    }